<?php

namespace app\user\model;

use think\Model;
use think\Request;
use app\common\model\BaseModel;

/**
* @property int        $user_id
* @property string     $username 账号
* @property string     $password 密码
* @property string     $mobile 手机
* @property string     $nickname 昵称
* @property string     $head_pic 头像
* @property string     $openid 微信OPENID
* @property string     $sex 0=保密 1=男 2=女
* @property string     $birthday 生日
* @property string     $user_type 用户类型:1=正常用户;2=虚拟用户
 * @property int       $tjr 推荐人ID
 * @property string    $last_ip 最后登录ip
 * @property string    $login_time 最后登录时间
 * @property string    $is_auth 授权 0=未授权 1=已授权
 * @property string    $status 0=禁用 1=启用
 * @property string    $is_delete 0=未删 1=已删
 * @property string    $disable_time 禁用时间
 * @property string    $create_time 创建日期
 * @property string    $update_time 更新日期
 * @property UserMoney userMoney 更新日期
 */
class User extends BaseModel
{
    // 表名
    protected $table = 'user';
    protected $pk = 'user_id';
    const primaryKey = 'user_id';

    // 追加属性
    protected $append = [

    ];

    public static function __make(Request $request)
    {
        return (new self())->find($request->param(self::primaryKey));
    }

    public static function onAfterInsert(User $user)
    {
        //创建账户
        $userMoney = new UserMoney();
        $userMoney->user_id = $user->user_id;
        $userMoney->save();
    }

    public function userTotal()
    {
        return $this->hasOne(UserTotal::class, 'user_id', 'user_id');
    }

    public function userMoney()
    {
        return $this->hasOne(UserMoney::class, 'user_id', 'user_id');
    }
}
